This invention relates generally to the field of network addressing, and more particularly to a method and system for identifying embedded addressing information in a packet for translation between disparate addressing systems.
Due to the success of the Internet, the Internet Protocol (IP) has become the primary networking protocol. Major concerns of the Internet community are the depletion of global IP address space (IPV4) and the complexity of configuring hosts with global IP addresses for Internet access. To extend the life of current IP address space and provide configureless access, network address translation (NAT) and its extension port address translation (PAT) have been employed.
Network address translation supports connectivity between the Internet and hosts using private addressing schemes. This connectivity provides configureless access to the Internet in that hosts may have independently assigned, globally non-unique addresses that need not be coordinated with the Internet Address Numbering Association (IANA) or other Internet registry. Network address translation pairs up the private addresses to public addresses so that the inside IP addresses appear as legally registered IP addresses on the Internet.
Port address translation allows a number of private network addresses and their ports to be translated to a single network address and its ports. Thus, multiple hosts in a private network may simultaneously access the Internet using a single legally registered IP address. The registered IP address is typically assigned to a router that translates addressing information contained in message headers between the addressing schemes.
A problem with Network and Port Address Translation is that some applications embed addressing information in their message payload data. This embedded addressing information is also to be translated when the packet is crossing the boundary. Unfortunately the translation function does not have the knowledge of the application packet format nor does it know if the packet has embedded addressing information. Therefor it is not possible for the translation function in the border routers to translate such data packets without specific knowledge of such applications and their packet formats. The mechanism to translate such packets is to be implemented in the translation function. Translation functions fail as soon as a new such application is developed or used with the router. Normally vendors of such translation functions in the routers develop new versions to handle the newly discovered applications that embed addressing information in their packets and make new release of the software and update all the affected installed systems. This is time consuming, expensive and cumbersome besides user application downtime.
The present invention provides a method and system for identifying embedded addressing information in a packet that substantially eliminate or reduce disadvantages and problems associated with previously developed systems and methods. In particular, the present invention uses readily updatable database records to identify embedded addressing information for translation between disparate addressing systems.
In accordance with one embodiment of the present invention, embedded addressing information is identified in a packet by providing a database including a plurality of records. Each record is operable to identify a packet having embedded addressing information and the embedded addressing information in the packet. Packets are compared to the database records to determine whether the packets include embedded addressing information. In response to determining that a packet includes embedded addressing information, the embedded addressing information is identified in the packet for translation between disparate addressing systems.
More particularly, in accordance with a particular embodiment of the present invention, each record includes a packet genus identifying a packet type capable of including embedded addressing information, a packet species identifying packets of the type that include embedded addressing information, and a locator identifying the embedded addressing information in the packets. In this embodiment, the packet genus may identify a protocol and a port for the packet type. A packet species may identify a term used in connection with embedded addressing information in the packet type. The locator may identify an offset to the embedded addressing information from a known location in the packet.
Technical advantages of the present invention include providing a method and system for identifying embedded addressing information in a packet for translation between disparate addressing systems. In particular, embedded addressing information is identified in packets using a configurable database that can be inexpensively updated using user interface (UI) commands. As a result, new applications are supported without changes in router software. Thus, costs associated with software upgrades to a network address translation system and with application downtime due to network address translation failure as a result of deployment of a new application having embedded addressing information, are reduced. In addition, database updates do not significantly increase system resource use and therefore do not degrade translation performance such as when customized software is added for each application having embedded addressing information.
Other technical advantageous will be readily apparent to one skilled in the art from the following figures, description, and claims.